package com.hades.xq.single.kotlin

/**
 * 同步锁式
 * 优点: 保证线程安全
 * 缺点:	每次都要加锁，获取的时候不经济
 */
class LazySynchronizedSingleton private constructor() {

    companion object {

        private var INSTANCE: LazySynchronizedSingleton? = null

        //在Kotlin中，我们就用的注释方式来加锁
        @Synchronized
        fun getInstance(): LazySynchronizedSingleton {
            if (INSTANCE == null) {
                INSTANCE = LazySynchronizedSingleton()
            }
            return INSTANCE!!
        }
    }
}